/********************************************************************
	created:	2010/07/06
	created:	6:7:2010   17:48
	filename: 	D:\Proj\gcstock\code\C++\GCStock\GCRawDataInterface.h
	file path:	D:\Proj\gcstock\code\C++\GCStock
	file base:	GCRawDataInterface
	file ext:	h
	author:		Greg Song
	
	purpose:	Define raw data interface
*********************************************************************/

#ifndef _GC_RAWDATA_INTERFACE_
#define _GC_RAWDATA_INTERFACE_
#include "GCHeader.h"

namespace gcstock
{
    class DataParse
    {
    public:
        virtual GCBOOL createConf(IN GCSTRING&) = 0;
        virtual GCBOOL parse(IN GCSTRING&) = 0;
    protected:
        
    private:
        
    };
    
    class GCDataOutputInterface
    {
    public:
        
    protected:
        
    private:
        
    };
    
    
    class RawData
    {
    public:    
        virtual ~RawData(){};    
        virtual void releaseRawData() = 0;
        virtual GCBOOL getRecord(IN DataParse&, OUT GCDataOutputInterface&) = 0;    
        //virtual BOOL getOneRecord() = 0;
        //virtual 
    protected:
        
    private:
        GCLPBASERAWDATA  rawData;
        GCBOOL        bNeedRelease;
        GCBOOL        bOutputNeedRelease;
    };
}



#endif // _GC_RAWDATA_INTERFACE_
